package cn.edu.scau.cmi.huangzhiyuan.client;

import java.util.ArrayList;

import cn.edu.scau.cmi.huangzhiyuan.singleton.Leader;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class MultipleCaseClient extends Application{
	// 放置list
	public ArrayList<String> leaders = null;
	// 输入框
	public TextField input = new TextField ("没有添加任何人");
	// 控制台打印结果
	public Label display = new Label("尚未创建任何元帅");
	// 记录操作结果
	public boolean succeed = false;

	@Override
	public void start(Stage primaryStage) throws Exception {
		// 创建元帅按钮
		Button addBt = new Button("创建");
		
		// 放置组件
		GridPane pane = new GridPane();
		pane.add(input, 0, 0);
		pane.add(addBt, 1, 0);
		pane.add(display, 0, 1, 2, 1);

		
		// 添加监听器
		addBt.setOnAction(event -> {
			// 获取输入
			String str = input.getText();
			// 添加元帅
			succeed = Leader.add(str);
			leaders = Leader.getInstance();
			// 展示
			for(int i=0; i<leaders.size(); i++) {
				pane.add(new Label(String.valueOf(leaders.get(i))), 1, i+2);
				pane.add(new Label(String.valueOf(i+1)), 0, i+2);
			}
			// 打印操作结果
			if(succeed) {
				display.setText("操作成功！");
			} else {
				display.setText("操作失败，最多添加十个");
			}
		});
		
		
		// 设置面板
		Scene scene = new Scene(pane, 400, 400);

		// 放置面板
		primaryStage.setScene(scene);
		
		// 展示
		primaryStage.show();
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}
